package com.easylinkin.linkappapi.circuit.entity;

/**
 * 系统告警记录信息
 * @author lyk
 * @date 2025/6/17 上午 11:32
 */

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.easylinkin.linkappapi.common.translate.Code2Text;
import com.easylinkin.linkappapi.common.translate.CodeI18n;
import com.easylinkin.linkappapi.common.translate.impl.DictTranslateor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

import com.baomidou.mybatisplus.extension.activerecord.Model;


import java.util.Date;

/**
 * 系统告警记录
 * @author lyk
 * @date 2025/6/16 下午 2:00
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("rail_give_system_alarm")
@CodeI18n
public class RailGiveSystemAlarm extends Model<RailGiveSystemAlarm> implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 监测项,字典
     */
    @TableField("testing_item")
    @Code2Text(translateor = DictTranslateor.class, value = "testing_item")
    private String testingItem;
    /**
     * 告警设备唯一编码
     */
    @TableField("device_code")
    private String deviceCode;
    /**
     *告警等级
     */
    @TableField("level")
    private String level;
    /**
     *告警时间/创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 告警类型 RailGiveAlarmTypeConfigEnum
     *
     */
    @TableField("alarm_type")
    private  String alarmType;
    /**
     *告警内容
     */
    @TableField("content")
    private String content;
    /**
     * 告警处理人id
     */
    @TableField("handle_id")
    private String handleId;
    /**
     *  告警处理人姓名
     */
    @TableField("handle_name")
    private String handleName;
    /**
     * 告警记录状态
     * 0未处理，1已处理，2误报
     */
    @TableField("status")
    private Integer status;
    /**
     *告警推送内容
     */
    @TableField("push_content")
    private String pushContent;
    /**
     *修改人，更新人
     */
    @TableField("modifier")
    private String modifier;
    /**
     *更新时间，修改时间
     */
    @TableField("modify_time")
    private Date modifyTime;
    /**
     *租户id
     */
    @TableField("tenant_id")
    private String tenantId;
    /**
     * 处理结果附件
     */
    @TableField("handle_file_urls")
    private String handleFileUrls;
    /**
     * 处理说明
     */
    @TableField("handle_resp")
    private String handleResp;
    /**
     * 处理结果
     * 0:已处理
     * 1:误报
     */
    @TableField("handle_rest")
    private Integer handleRest;
    /**
     * 告警大类 1-吊车安全监测 2-防护员电子围栏 3-用电安全 4-汛情防护  5-AI行为告警 6-现场广播 7-网格员电子围栏
     */
    @TableField("category")
    private String category;
    /**
     * 关联id
     */
    @TableField("ref_id_")
    private String refId;
}
